using System;
using System.Collections.Generic;

namespace DemoApp.DataAccess 
{
  [Serializable]
  public partial class Subject 
  {
    public Subject()
    {
      Editors = new List<User>();
      SubSubjects = new List<Subject>();
    }

    public virtual Guid SubjectId { get; set; } 

    public virtual string Url { get; set; } 

    public virtual string Title { get; set; } 

    public virtual string Description { get; set; } 

    public virtual string ImageUrl { get; set; } 

    public virtual DateTime CreateDate { get; set; } 

    public virtual DateTime ModifyDate { get; set; } 

    public virtual bool IsDisabled { get; set; } 

    public virtual Guid CreatorId { get; set; }
    public virtual User Creator { get; set; }

    public virtual IList<User> Editors { get; set; }

    public virtual Guid? ParentSubjectId { get; set; }
    public virtual Subject ParentSubject { get; set; }

    public virtual IList<Subject> SubSubjects { get; set; }

  }

  [Serializable]
  public partial class SubjectKey
  {
    public Guid SubjectId { get; set; }
  }
}
